package com.ctg.itrdc.sysmgr.portal.api.service;

import java.util.List;

import com.ctg.itrdc.pasp.core.IBaseService;
import com.ctg.itrdc.sysmgr.portal.api.dto.FuncMenuDTO;
import com.ctg.itrdc.sysmgr.portal.common.constant.PrivGrantEnum;
import com.ctg.itrdc.sysmgr.portal.data.entity.FuncMenu;

public interface IFuncMenuService extends PrivGrantEnum,IBaseService<FuncMenu, Long, FuncMenuDTO>{
	
	/**
	 * 用户，岗位，角色 有权限的菜单
	 * @param sysUserId
	 * @param sysPostId
	 * @return
	 */
	public List<FuncMenuDTO> selectMenuTree(Long sysUserId,Long sysPostId,FuncMenuDTO funcMenuDTO);
	/**
	 * 用户，岗位，角色，有权限的菜单列表
	 * @param privIds
	 * @return
	 */
	public List<FuncMenuDTO> selectMenuList(Long sysUserId, Long sysPostId,FuncMenuDTO funcMenuDTO);
	/**
	 * 用户，岗位，角色，有权限的子菜单列表
	 * @param sysUserId
	 * @param sysPostId
	 * @param parMenuId
	 * @return
	 */
	@Deprecated
	public List<FuncMenuDTO> selectSubMenuList(Long sysUserId, Long sysPostId,FuncMenuDTO funcMenuDTO);
	
	public List<FuncMenuDTO> selectByIds(GrantSysobjType sysobjType, FuncMenuDTO dto,
			Long... ids);
	public List<FuncMenuDTO> selectSubMenuList(String grantObjType, Long grantObjId, FuncMenuDTO funcMenuDTO);
}
